package cn.edu.usst.cs.goldfish.booking.meetingroom.model;

import cn.edu.usst.cs.goldfish.booking.meetingroom.model.enums.MeetingStatus;
import cn.edu.usst.cs.goldfish.booking.meetingroom.typehandler.*;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.apache.ibatis.type.JdbcType;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 *
 * </p>
 *
 * @author Jerry
 * @since 2025-06-28
 */
@Getter
@Setter
@ToString
@TableName("meeting")
public class Meeting implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private Long roomId;

    private Long organizerId;

    private String topic;
    @TableField(
            typeHandler = MeetingStatusTypeHandler.class,
            jdbcType = JdbcType.OTHER)
    @ExcelProperty(value = "状态", converter = MeetingStatusConverter.class)
    private MeetingStatus status;

    private BigDecimal price;

}
